@tutti-os/agent-gui 0.0.189 → 0.0.191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AgentRichTextReadonly-HJQQ4KAL.js +19 -0
- package/dist/agent-conversation/index.d.ts +29 -15
- package/dist/agent-conversation/index.js +11 -11
- package/dist/agent-env/index.js +1 -1
- package/dist/agent-gui.d.ts +315 -13
- package/dist/agent-gui.js +23 -23
- package/dist/agent-message-center/index.d.ts +4 -7
- package/dist/agent-message-center/index.js +9 -9
- package/dist/{agentGuiNodeTypes-DAT3XJON.d.ts → agentGuiNodeTypes-B23ubO8n.d.ts} +21 -3
- package/dist/agents.d.ts +2 -1
- package/dist/app/renderer/agentactivity.css +20 -3
- package/dist/{chunk-YSA4MXR5.js → chunk-4CHBM3G3.js} +9 -3
- package/dist/chunk-4CHBM3G3.js.map +1 -0
- package/dist/{chunk-NCD5I4OB.js → chunk-5VECGOBU.js} +3 -3
- package/dist/{chunk-F5YFT4VB.js → chunk-73FNXLC6.js} +5431 -2202
- package/dist/chunk-73FNXLC6.js.map +1 -0
- package/dist/{chunk-AODSTIED.js → chunk-AFUVWWQY.js} +2 -2
- package/dist/{chunk-MHOYBRCY.js → chunk-CBMWHQ7P.js} +1 -1
- package/dist/chunk-CBMWHQ7P.js.map +1 -0
- package/dist/{chunk-THBCAUBR.js → chunk-CXC3ROXQ.js} +2 -2
- package/dist/{chunk-THBCAUBR.js.map → chunk-CXC3ROXQ.js.map} +1 -1
- package/dist/{chunk-CAZ7NYUE.js → chunk-DKGFEIZ7.js} +2 -2
- package/dist/{chunk-5UTK6FDH.js → chunk-DNHDR2YC.js} +3 -3
- package/dist/{chunk-U7GYZU6V.js → chunk-E2Y4FFQW.js} +5 -5
- package/dist/{chunk-KAF6JPGL.js → chunk-FGD2K7AB.js} +3 -3
- package/dist/chunk-FGD2K7AB.js.map +1 -0
- package/dist/{chunk-ZREBC77R.js → chunk-G7DS23D4.js} +2 -2
- package/dist/{chunk-VGUKS6JR.js → chunk-I4ICM3U4.js} +297 -43
- package/dist/chunk-I4ICM3U4.js.map +1 -0
- package/dist/{chunk-6II57C72.js → chunk-KDN6SLJM.js} +2 -2
- package/dist/{chunk-E5X3DSQZ.js → chunk-L3YCXXMA.js} +9 -9
- package/dist/{chunk-2674YZOF.js → chunk-M6HTOCQK.js} +3 -3
- package/dist/{chunk-SZVHT57M.js → chunk-MGSRWYRN.js} +2 -2
- package/dist/{chunk-5CLSJWUN.js → chunk-O433KXLK.js} +8 -1
- package/dist/chunk-O433KXLK.js.map +1 -0
- package/dist/{chunk-Z5IASLIU.js → chunk-PFTST5V6.js} +4 -4
- package/dist/{chunk-LLIM2OX6.js → chunk-S7OROGUS.js} +2 -2
- package/dist/{chunk-BVA5SVOD.js → chunk-U6TH4RJJ.js} +1394 -784
- package/dist/chunk-U6TH4RJJ.js.map +1 -0
- package/dist/{chunk-ETJFWUCA.js → chunk-V2BMPPOE.js} +4 -4
- package/dist/{chunk-OKBVGNH7.js → chunk-Z5Y3RB2U.js} +2 -2
- package/dist/{chunk-V3QHMEJZ.js → chunk-ZE6VLLFC.js} +51 -4
- package/dist/chunk-ZE6VLLFC.js.map +1 -0
- package/dist/context-mention-palette/index.js +10 -10
- package/dist/context-mention-provider.d.ts +1 -0
- package/dist/{contribution-C0MnLVKF.d.ts → contribution-DfeuQHH6.d.ts} +39 -0
- package/dist/conversation-rail-runtime.d.ts +10 -3
- package/dist/dock-icons.js +2 -2
- package/dist/i18n/index.d.ts +370 -168
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +1199 -580
- package/dist/index.js +23 -23
- package/dist/index.js.map +1 -1
- package/dist/mention-search.js +8 -8
- package/dist/planImplementationPresentation-BxVOLt6A.d.ts +24 -0
- package/dist/provider-identity.js +1 -1
- package/dist/{types-CWFDZVkv.d.ts → types-CWKbqBmi.d.ts} +44 -0
- package/dist/workbench/contribution.d.ts +1 -1
- package/dist/workbench/contribution.js +10 -10
- package/dist/workbench/index.d.ts +2 -2
- package/dist/workbench/index.js +10 -10
- package/dist/workbench/launch.d.ts +4 -0
- package/dist/workbench/launch.js +4 -4
- package/dist/workbench/providerCatalog.js +2 -2
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.js +3 -3
- package/dist/workbench/types.d.ts +3 -0
- package/dist/workbench/types.js +1 -1
- package/dist/{agentConversationVM-CYXZSrh9.d.ts → workspaceLinkActions-BmVLZszV.d.ts} +110 -73
- package/package.json +14 -14
- package/dist/AgentRichTextReadonly-OKZPTCIX.js +0 -19
- package/dist/chunk-5CLSJWUN.js.map +0 -1
- package/dist/chunk-BVA5SVOD.js.map +0 -1
- package/dist/chunk-F5YFT4VB.js.map +0 -1
- package/dist/chunk-KAF6JPGL.js.map +0 -1
- package/dist/chunk-MHOYBRCY.js.map +0 -1
- package/dist/chunk-V3QHMEJZ.js.map +0 -1
- package/dist/chunk-VGUKS6JR.js.map +0 -1
- package/dist/chunk-YSA4MXR5.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-OKZPTCIX.js.map → AgentRichTextReadonly-HJQQ4KAL.js.map} +0 -0
- /package/dist/{chunk-NCD5I4OB.js.map → chunk-5VECGOBU.js.map} +0 -0
- /package/dist/{chunk-AODSTIED.js.map → chunk-AFUVWWQY.js.map} +0 -0
- /package/dist/{chunk-CAZ7NYUE.js.map → chunk-DKGFEIZ7.js.map} +0 -0
- /package/dist/{chunk-5UTK6FDH.js.map → chunk-DNHDR2YC.js.map} +0 -0
- /package/dist/{chunk-U7GYZU6V.js.map → chunk-E2Y4FFQW.js.map} +0 -0
- /package/dist/{chunk-ZREBC77R.js.map → chunk-G7DS23D4.js.map} +0 -0
- /package/dist/{chunk-6II57C72.js.map → chunk-KDN6SLJM.js.map} +0 -0
- /package/dist/{chunk-E5X3DSQZ.js.map → chunk-L3YCXXMA.js.map} +0 -0
- /package/dist/{chunk-2674YZOF.js.map → chunk-M6HTOCQK.js.map} +0 -0
- /package/dist/{chunk-SZVHT57M.js.map → chunk-MGSRWYRN.js.map} +0 -0
- /package/dist/{chunk-Z5IASLIU.js.map → chunk-PFTST5V6.js.map} +0 -0
- /package/dist/{chunk-LLIM2OX6.js.map → chunk-S7OROGUS.js.map} +0 -0
- /package/dist/{chunk-ETJFWUCA.js.map → chunk-V2BMPPOE.js.map} +0 -0
- /package/dist/{chunk-OKBVGNH7.js.map → chunk-Z5Y3RB2U.js.map} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentRichTextReadonly
|
|
3
|
+
} from "./chunk-S7OROGUS.js";
|
|
4
|
+
import "./chunk-5VECGOBU.js";
|
|
5
|
+
import "./chunk-3V5OCA2M.js";
|
|
6
|
+
import "./chunk-FGLQZ6I4.js";
|
|
7
|
+
import "./chunk-ZVYUTXQJ.js";
|
|
8
|
+
import "./chunk-M6HTOCQK.js";
|
|
9
|
+
import "./chunk-DKGFEIZ7.js";
|
|
10
|
+
import "./chunk-5BJYO6X3.js";
|
|
11
|
+
import "./chunk-AFUVWWQY.js";
|
|
12
|
+
import "./chunk-I4ICM3U4.js";
|
|
13
|
+
import "./chunk-D2JUDUYY.js";
|
|
14
|
+
import "./chunk-QNE2ZPPV.js";
|
|
15
|
+
import "./chunk-O433KXLK.js";
|
|
16
|
+
export {
|
|
17
|
+
AgentRichTextReadonly
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=AgentRichTextReadonly-HJQQ4KAL.js.map
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { ReactNode, JSX } from 'react';
|
|
3
|
-
import { c as AgentConversationVM, g as WorkspaceLinkAction, f as WorkspaceAgentSessionDetailViewModel } from '../
|
|
4
|
-
export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityCard, e as WorkspaceAgentActivityTimelineItem, h as buildWorkspaceAgentSessionDetailViewModel } from '../
|
|
5
|
-
import { d as AgentGUIProviderSkillOption, h as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-
|
|
2
|
+
import { ReactNode, Ref, JSX } from 'react';
|
|
3
|
+
import { c as AgentConversationVM, g as WorkspaceLinkAction, f as WorkspaceAgentSessionDetailViewModel } from '../workspaceLinkActions-BmVLZszV.js';
|
|
4
|
+
export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityCard, e as WorkspaceAgentActivityTimelineItem, h as buildWorkspaceAgentSessionDetailViewModel } from '../workspaceLinkActions-BmVLZszV.js';
|
|
5
|
+
import { d as AgentGUIProviderSkillOption, h as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-B23ubO8n.js';
|
|
6
6
|
import { AgentActivityMessage } from '@tutti-os/agent-activity-core';
|
|
7
7
|
import '@tutti-os/workspace-issue-manager/core';
|
|
8
|
-
import '../types-
|
|
8
|
+
import '../types-CWKbqBmi.js';
|
|
9
|
+
import '../planImplementationPresentation-BxVOLt6A.js';
|
|
9
10
|
import '@tutti-os/workspace-user-project/contracts';
|
|
10
11
|
|
|
11
|
-
interface
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
interface AgentTranscriptTurnAttachment {
|
|
13
|
+
id: string;
|
|
14
|
+
anchorTurnId: string | null;
|
|
15
|
+
content: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
type AgentTranscriptAttachmentLocator = (attachmentId: string) => void;
|
|
18
|
+
|
|
19
|
+
interface AgentTranscriptViewProps {
|
|
20
|
+
conversation: AgentConversationVM;
|
|
21
|
+
turnAttachments?: readonly AgentTranscriptTurnAttachment[];
|
|
22
|
+
turnAttachmentLocatorRef?: Ref<AgentTranscriptAttachmentLocator>;
|
|
23
|
+
onTurnAttachmentVisibilityChange?: (attachmentId: string, visible: boolean) => void;
|
|
17
24
|
onLinkAction?: (action: WorkspaceLinkAction) => void;
|
|
18
25
|
onAuthLogin?: (provider?: string | null) => void;
|
|
19
26
|
availableSkills?: readonly AgentGUIProviderSkillOption[];
|
|
@@ -29,10 +36,17 @@ interface AgentConversationFlowProps {
|
|
|
29
36
|
userMessageLocator?: string;
|
|
30
37
|
};
|
|
31
38
|
}
|
|
32
|
-
declare const
|
|
39
|
+
declare const AgentTranscriptView: react.NamedExoticComponent<AgentTranscriptViewProps>;
|
|
33
40
|
|
|
34
|
-
interface
|
|
35
|
-
conversation: AgentConversationVM;
|
|
41
|
+
interface AgentConversationFlowProps {
|
|
42
|
+
conversation: AgentConversationVM | null;
|
|
43
|
+
turnAttachments?: readonly AgentTranscriptTurnAttachment[];
|
|
44
|
+
turnAttachmentLocatorRef?: Ref<AgentTranscriptAttachmentLocator>;
|
|
45
|
+
onTurnAttachmentVisibilityChange?: (attachmentId: string, visible: boolean) => void;
|
|
46
|
+
isLoading: boolean;
|
|
47
|
+
loadingLabel: string;
|
|
48
|
+
loadingTestId?: string;
|
|
49
|
+
empty: ReactNode;
|
|
36
50
|
onLinkAction?: (action: WorkspaceLinkAction) => void;
|
|
37
51
|
onAuthLogin?: (provider?: string | null) => void;
|
|
38
52
|
availableSkills?: readonly AgentGUIProviderSkillOption[];
|
|
@@ -48,7 +62,7 @@ interface AgentTranscriptViewProps {
|
|
|
48
62
|
userMessageLocator?: string;
|
|
49
63
|
};
|
|
50
64
|
}
|
|
51
|
-
declare const
|
|
65
|
+
declare const AgentConversationFlow: react.NamedExoticComponent<AgentConversationFlowProps>;
|
|
52
66
|
|
|
53
67
|
declare function AgentTranscriptSkeleton({ label, testId }: {
|
|
54
68
|
label: string;
|
|
@@ -7,29 +7,29 @@ import {
|
|
|
7
7
|
reconcileProjectedAgentConversationVM,
|
|
8
8
|
serializeAgentConversationForClipboard,
|
|
9
9
|
useProjectedAgentConversation
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-U6TH4RJJ.js";
|
|
11
|
+
import "../chunk-S7OROGUS.js";
|
|
12
|
+
import "../chunk-CXC3ROXQ.js";
|
|
13
13
|
import "../chunk-XJ34OIEQ.js";
|
|
14
14
|
import "../chunk-JDVP33S5.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-5VECGOBU.js";
|
|
16
16
|
import "../chunk-3V5OCA2M.js";
|
|
17
17
|
import "../chunk-FGLQZ6I4.js";
|
|
18
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-PFTST5V6.js";
|
|
19
19
|
import "../chunk-ZVYUTXQJ.js";
|
|
20
|
-
import "../chunk-
|
|
20
|
+
import "../chunk-FGD2K7AB.js";
|
|
21
21
|
import "../chunk-F5UR6EJG.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-M6HTOCQK.js";
|
|
23
23
|
import {
|
|
24
24
|
translate
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-DKGFEIZ7.js";
|
|
26
26
|
import "../chunk-5BJYO6X3.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-AFUVWWQY.js";
|
|
28
|
+
import "../chunk-I4ICM3U4.js";
|
|
29
29
|
import "../chunk-MIJXEELH.js";
|
|
30
30
|
import "../chunk-D2JUDUYY.js";
|
|
31
31
|
import "../chunk-QNE2ZPPV.js";
|
|
32
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-O433KXLK.js";
|
|
33
33
|
|
|
34
34
|
// shared/WorkspaceAgentSessionDetail.tsx
|
|
35
35
|
import { useMemo } from "react";
|
package/dist/agent-env/index.js
CHANGED
package/dist/agent-gui.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
4
|
-
import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings,
|
|
5
|
-
import { k as AgentHostAgentSessionComposerSettings, o as AgentHostUnactivateAgentSessionResult, b as AgentGUIAgentTarget, f as AgentGUIProvider, p as AgentPromptContentBlock, e as AgentGUINodeData, P as Point, g as AgentGUIProviderRailAllPresentation, h as AgentGUIProviderRailMode, i as AgentGUIProviderReadinessGate, d as AgentGUIHomeSuggestionId, N as NodeFrame, a as AgentGUIAgentDirectorySnapshot, c as AgentGUIAllAgentsPresentation } from './types-
|
|
6
|
-
import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-
|
|
4
|
+
import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivityUpdateTuttiModeActivationInput, AgentActivityUpdateTuttiModeActivationResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySetCollaborationAdoptionInput, AgentActivityCollaborationRun, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivitySubmitSettingsPatch } from '@tutti-os/agent-activity-core';
|
|
5
|
+
import { k as AgentHostAgentSessionComposerSettings, o as AgentHostUnactivateAgentSessionResult, b as AgentGUIAgentTarget, f as AgentGUIProvider, p as AgentPromptContentBlock, e as AgentGUINodeData, P as Point, g as AgentGUIProviderRailAllPresentation, h as AgentGUIProviderRailMode, i as AgentGUIProviderReadinessGate, d as AgentGUIHomeSuggestionId, N as NodeFrame, a as AgentGUIAgentDirectorySnapshot, c as AgentGUIAllAgentsPresentation } from './types-CWKbqBmi.js';
|
|
6
|
+
import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-B23ubO8n.js';
|
|
7
7
|
import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
8
8
|
export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
9
9
|
import { A as AgentContextMentionItem } from './agentFileMentionContracts-B0yQizXB.js';
|
|
10
10
|
import { A as AgentGuiI18nLocale } from './runtime-Dwf44VKc.js';
|
|
11
11
|
import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
|
|
12
12
|
import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
|
|
13
|
-
import { b as AgentConversationPromptVM, g as WorkspaceLinkAction } from './
|
|
13
|
+
import { b as AgentConversationPromptVM, g as WorkspaceLinkAction } from './workspaceLinkActions-BmVLZszV.js';
|
|
14
14
|
import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
|
|
15
15
|
import { WorkspaceUserProjectSelectChangeAction } from '@tutti-os/workspace-user-project/ui';
|
|
16
16
|
import { WorkspaceUserProject } from '@tutti-os/workspace-user-project/contracts';
|
|
17
17
|
import { ReferenceProvenanceFilterSnapshot, ReferenceProvenanceFilterController } from '@tutti-os/workspace-file-reference/react';
|
|
18
18
|
import { RichTextMentionService } from '@tutti-os/ui-rich-text/service';
|
|
19
|
+
import './planImplementationPresentation-BxVOLt6A.js';
|
|
19
20
|
import '@tutti-os/workspace-issue-manager/core';
|
|
20
21
|
|
|
21
22
|
declare const APP_UPDATE_POLICIES: readonly ["off", "prompt", "auto"];
|
|
@@ -178,6 +179,7 @@ interface AgentActivityRuntimeDiagnosticInput {
|
|
|
178
179
|
}
|
|
179
180
|
interface AgentActivityRuntimeActivateSessionInputBase {
|
|
180
181
|
agentSessionId: string;
|
|
182
|
+
capabilityRefs?: AgentActivityCreateSessionInput["capabilityRefs"];
|
|
181
183
|
cwd?: string;
|
|
182
184
|
initialContent?: AgentActivitySendInput["content"];
|
|
183
185
|
/** 仅展示用首轮文本(bundle 折叠成一个 chip);initialContent 仍带展开后的文件。 */
|
|
@@ -192,12 +194,11 @@ interface AgentActivityRuntimeActivateSessionInputBase {
|
|
|
192
194
|
type AgentActivityRuntimeActivateSessionInput = (AgentActivityRuntimeActivateSessionInputBase & {
|
|
193
195
|
agentTargetId: string;
|
|
194
196
|
clientSubmitId: string;
|
|
195
|
-
|
|
197
|
+
initialTuttiModeActivation?: AgentActivityCreateSessionInput["initialTuttiModeActivation"];
|
|
196
198
|
mode: "new";
|
|
197
199
|
}) | (AgentActivityRuntimeActivateSessionInputBase & {
|
|
198
200
|
agentTargetId?: string | null;
|
|
199
201
|
clientSubmitId?: never;
|
|
200
|
-
initialGoalControl?: never;
|
|
201
202
|
mode: "existing";
|
|
202
203
|
});
|
|
203
204
|
interface AgentActivityRuntimeUnactivateSessionInput {
|
|
@@ -326,6 +327,7 @@ interface AgentActivityRuntime {
|
|
|
326
327
|
getSession(workspaceId: string, agentSessionId: string): Promise<AgentActivitySession>;
|
|
327
328
|
getComposerOptions(input: AgentActivityRuntimeGetComposerOptionsInput): Promise<unknown>;
|
|
328
329
|
updateSessionSettings(input: AgentActivityRuntimeUpdateSessionSettingsInput): Promise<AgentActivityRuntimeUpdateSessionSettingsResult>;
|
|
330
|
+
updateTuttiModeActivation(input: AgentActivityUpdateTuttiModeActivationInput): Promise<AgentActivityUpdateTuttiModeActivationResult>;
|
|
329
331
|
getSnapshot(workspaceId: string): AgentActivitySnapshot;
|
|
330
332
|
getSessionEngine(workspaceId: string): AgentSessionEngine;
|
|
331
333
|
getSessionSectionsQueryCache?(workspaceId: string): WorkspaceQueryCache<unknown>;
|
|
@@ -345,6 +347,11 @@ interface AgentActivityRuntime {
|
|
|
345
347
|
readSessionAttachment?(input: AgentActivityRuntimeReadSessionAttachmentInput): Promise<AgentActivityRuntimeSessionAttachment>;
|
|
346
348
|
readPromptAsset?(input: AgentActivityRuntimeReadPromptAssetInput): Promise<AgentActivityRuntimePromptAsset>;
|
|
347
349
|
renameSession(input: AgentActivityRenameSessionInput): Promise<AgentActivitySession>;
|
|
350
|
+
/**
|
|
351
|
+
* Record whether a collaboration outcome was adopted.
|
|
352
|
+
* Optional; hosts without support omit it and adoption controls stay hidden.
|
|
353
|
+
*/
|
|
354
|
+
setCollaborationAdoption?(input: AgentActivitySetCollaborationAdoptionInput): Promise<AgentActivityCollaborationRun>;
|
|
348
355
|
setSessionPinned(input: AgentActivityRuntimeSetSessionPinnedInput): Promise<AgentActivitySession>;
|
|
349
356
|
trackSettingsProjectChange?(input: AgentActivityRuntimeTrackSettingsProjectChangeInput): Promise<void>;
|
|
350
357
|
trackDraftComposerSettingsChange?(input: AgentActivityRuntimeTrackDraftComposerSettingsChangeInput): Promise<void>;
|
|
@@ -636,6 +643,11 @@ interface AgentComposerReferenceProvenanceFilter {
|
|
|
636
643
|
}
|
|
637
644
|
interface AgentComposerSubmitOptions {
|
|
638
645
|
requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
|
|
646
|
+
capabilityRefs?: readonly AgentComposerCapabilityReference[];
|
|
647
|
+
}
|
|
648
|
+
interface AgentComposerCapabilityReference {
|
|
649
|
+
capability: "tutti";
|
|
650
|
+
source: "slash_command";
|
|
639
651
|
}
|
|
640
652
|
interface AgentComposerProps {
|
|
641
653
|
workspaceId: string;
|
|
@@ -655,6 +667,10 @@ interface AgentComposerProps {
|
|
|
655
667
|
disabled: boolean;
|
|
656
668
|
disabledReason?: string | null;
|
|
657
669
|
submitDisabled: boolean;
|
|
670
|
+
/** Canonical engine projection of the independent TuttiModeActivation. */
|
|
671
|
+
tuttiModeActive?: boolean;
|
|
672
|
+
/** Blocks submission/removal while activation CAS or creation is unresolved. */
|
|
673
|
+
tuttiModeUpdating?: boolean;
|
|
658
674
|
placeholder: string;
|
|
659
675
|
composerSettings: AgentGUIComposerSettingsVM;
|
|
660
676
|
queueStatus?: AgentGUIQueueStatus;
|
|
@@ -694,6 +710,13 @@ interface AgentComposerProps {
|
|
|
694
710
|
handoffMenuLabel?: string;
|
|
695
711
|
labels: {
|
|
696
712
|
send: string;
|
|
713
|
+
/**
|
|
714
|
+
* Plan-review send copy: with an empty-send override active the send
|
|
715
|
+
* button reads sendAccept on an empty draft and sendRequestChanges once
|
|
716
|
+
* feedback is typed, so the composer decision semantics stay legible.
|
|
717
|
+
*/
|
|
718
|
+
sendAccept?: string;
|
|
719
|
+
sendRequestChanges?: string;
|
|
697
720
|
modelLabel: string;
|
|
698
721
|
modelSelectionLabel: string;
|
|
699
722
|
modelContextWindowSuffix: string;
|
|
@@ -732,6 +755,15 @@ interface AgentComposerProps {
|
|
|
732
755
|
professionalLongRunning: string;
|
|
733
756
|
};
|
|
734
757
|
planModeLabel: string;
|
|
758
|
+
tuttiModeLabel: string;
|
|
759
|
+
tuttiModeDescription: string;
|
|
760
|
+
tuttiBudgetTitle: string;
|
|
761
|
+
tuttiBudgetIntensityLabel: string;
|
|
762
|
+
tuttiBudgetIntensityMin: string;
|
|
763
|
+
tuttiBudgetIntensityMax: string;
|
|
764
|
+
tuttiBudgetConfirm: string;
|
|
765
|
+
tuttiBudgetCancel: string;
|
|
766
|
+
planModeDescription?: string;
|
|
735
767
|
planModeOnLabel: string;
|
|
736
768
|
planModeOffLabel: string;
|
|
737
769
|
planUnavailable: string;
|
|
@@ -888,6 +920,7 @@ interface AgentComposerProps {
|
|
|
888
920
|
computerUse?: boolean;
|
|
889
921
|
permissionModeId?: string | null;
|
|
890
922
|
}) => void;
|
|
923
|
+
onTuttiModeChange?: (active: boolean) => void;
|
|
891
924
|
capabilityMenuState?: AgentComposerCapabilityMenuState;
|
|
892
925
|
capabilityControlsReadOnly?: boolean;
|
|
893
926
|
onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
|
|
@@ -895,7 +928,19 @@ interface AgentComposerProps {
|
|
|
895
928
|
onSlashStatusClose?: () => void;
|
|
896
929
|
onSlashStatusRefresh?: () => void;
|
|
897
930
|
onSubmit: (content: AgentPromptContentBlock[], displayPrompt?: string, options?: AgentComposerSubmitOptions) => void;
|
|
898
|
-
|
|
931
|
+
/**
|
|
932
|
+
* When set, an empty-draft send is enabled and routed here instead of being
|
|
933
|
+
* blocked (e.g. Tutti plan review: empty send = accept). Typed sends keep
|
|
934
|
+
* flowing through onSubmit.
|
|
935
|
+
*/
|
|
936
|
+
onSubmitEmpty?: () => void;
|
|
937
|
+
/**
|
|
938
|
+
* Overrides the empty-draft send button copy while the empty-send override
|
|
939
|
+
* is active (e.g. plan review with a diverged intensity reads "Request
|
|
940
|
+
* changes" instead of "Accept plan"). Falls back to labels.sendAccept.
|
|
941
|
+
*/
|
|
942
|
+
emptySubmitLabel?: string;
|
|
943
|
+
onSubmitGuidance?: (content: AgentPromptContentBlock[], displayPrompt?: string, options?: AgentComposerSubmitOptions) => void;
|
|
899
944
|
onSendQueuedPromptNext: (queuedPromptId: string) => void;
|
|
900
945
|
onRemoveQueuedPrompt: (queuedPromptId: string) => void;
|
|
901
946
|
onEditQueuedPrompt: (queuedPromptId: string) => void;
|
|
@@ -918,7 +963,7 @@ interface AgentComposerProps {
|
|
|
918
963
|
onRequestGitBranches?: AgentComposerGitBranchLoader | null;
|
|
919
964
|
referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
|
|
920
965
|
}
|
|
921
|
-
type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"]
|
|
966
|
+
type AgentComposerCapabilitySettingsTarget = Exclude<AgentSlashCommandCapability["capability"], "tutti">;
|
|
922
967
|
interface AgentComposerCapabilityMenuState {
|
|
923
968
|
browserUse?: {
|
|
924
969
|
connectionMode?: "autoConnect" | "isolated" | null;
|
|
@@ -927,6 +972,9 @@ interface AgentComposerCapabilityMenuState {
|
|
|
927
972
|
authorization?: AgentComposerComputerUseAuthorizationState | null;
|
|
928
973
|
installed?: boolean | null;
|
|
929
974
|
};
|
|
975
|
+
tuttiMode?: {
|
|
976
|
+
enabled?: boolean | null;
|
|
977
|
+
};
|
|
930
978
|
}
|
|
931
979
|
type AgentComposerComputerUseAuthorizationState = "authorized" | "needs-authorization" | "unknown";
|
|
932
980
|
interface AgentComposerGitBranches {
|
|
@@ -977,6 +1025,256 @@ interface OpenAgentEnvPanelInput {
|
|
|
977
1025
|
focus?: AgentEnvPanelFocus | null;
|
|
978
1026
|
}
|
|
979
1027
|
|
|
1028
|
+
type TuttiModePlanWorkflowStatus = "pending_review" | "in_progress" | "accepted" | "rejected" | "completed" | "failed" | "canceled";
|
|
1029
|
+
type TuttiModePlanCheckpointKind = "configuration_review" | "task_review";
|
|
1030
|
+
type TuttiModePlanCheckpointStatus = "pending" | "accepted" | "rejected" | "superseded" | "canceled";
|
|
1031
|
+
interface TuttiModePlanReviewSnapshot {
|
|
1032
|
+
workflow: TuttiModePlanWorkflow;
|
|
1033
|
+
revisions: TuttiModePlanRevision[];
|
|
1034
|
+
checkpoints: TuttiModePlanCheckpoint[];
|
|
1035
|
+
}
|
|
1036
|
+
interface TuttiModePlanWorkflow {
|
|
1037
|
+
id: string;
|
|
1038
|
+
workspaceId: string;
|
|
1039
|
+
type: string;
|
|
1040
|
+
owner: string;
|
|
1041
|
+
triggerKind: string;
|
|
1042
|
+
sourceSessionId: string;
|
|
1043
|
+
sourceTurnId?: string | null;
|
|
1044
|
+
sourceToolCallId?: string | null;
|
|
1045
|
+
status: TuttiModePlanWorkflowStatus;
|
|
1046
|
+
currentRevisionId: string;
|
|
1047
|
+
}
|
|
1048
|
+
interface TuttiModePlanRevision {
|
|
1049
|
+
id: string;
|
|
1050
|
+
workflowId: string;
|
|
1051
|
+
sequence: number;
|
|
1052
|
+
schemaVersion: string;
|
|
1053
|
+
documentPath: string;
|
|
1054
|
+
sha256: string;
|
|
1055
|
+
producedByTurnId?: string | null;
|
|
1056
|
+
createdAtUnixMs: number;
|
|
1057
|
+
document: TuttiModePlanDocument;
|
|
1058
|
+
}
|
|
1059
|
+
interface TuttiModePlanDocument {
|
|
1060
|
+
schema: string;
|
|
1061
|
+
phase: "configuration" | "task_graph";
|
|
1062
|
+
title: string;
|
|
1063
|
+
topicId: string;
|
|
1064
|
+
markdownBody: string;
|
|
1065
|
+
execution: TuttiModePlanExecution;
|
|
1066
|
+
budget: TuttiModePlanBudget;
|
|
1067
|
+
tasks: TuttiModePlanTask[];
|
|
1068
|
+
}
|
|
1069
|
+
interface TuttiModePlanExecution {
|
|
1070
|
+
mode: "sequential" | "parallel";
|
|
1071
|
+
reasoningIntensity: number;
|
|
1072
|
+
orchestrationIntensity: number;
|
|
1073
|
+
}
|
|
1074
|
+
interface TuttiModePlanBudget {
|
|
1075
|
+
mode: "auto" | "fixed";
|
|
1076
|
+
tokenLimit: number;
|
|
1077
|
+
quotaWaterlinePercent: number;
|
|
1078
|
+
}
|
|
1079
|
+
interface TuttiModePlanTask {
|
|
1080
|
+
id: string;
|
|
1081
|
+
title: string;
|
|
1082
|
+
content: string;
|
|
1083
|
+
priority: "high" | "medium" | "low";
|
|
1084
|
+
agentTargetId?: string | null;
|
|
1085
|
+
modelPlanId?: string | null;
|
|
1086
|
+
model?: string | null;
|
|
1087
|
+
permissionModeId?: string | null;
|
|
1088
|
+
reasoningEffort?: string | null;
|
|
1089
|
+
executionDirectory?: string | null;
|
|
1090
|
+
dependsOn: string[];
|
|
1091
|
+
parallelizable?: boolean;
|
|
1092
|
+
autoAccept?: boolean;
|
|
1093
|
+
}
|
|
1094
|
+
interface TuttiModePlanCheckpoint {
|
|
1095
|
+
id: string;
|
|
1096
|
+
workflowId: string;
|
|
1097
|
+
kind: TuttiModePlanCheckpointKind;
|
|
1098
|
+
revisionId: string;
|
|
1099
|
+
status: TuttiModePlanCheckpointStatus;
|
|
1100
|
+
decidedBy?: string | null;
|
|
1101
|
+
decisionReason?: string | null;
|
|
1102
|
+
createdAtUnixMs: number;
|
|
1103
|
+
updatedAtUnixMs: number;
|
|
1104
|
+
decidedAtUnixMs?: number | null;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
interface TuttiModePlanReviewUpdate {
|
|
1108
|
+
kind: "workflow_updated";
|
|
1109
|
+
workspaceId: string;
|
|
1110
|
+
workflowId: string;
|
|
1111
|
+
sourceSessionId: string;
|
|
1112
|
+
checkpointId: string;
|
|
1113
|
+
changeKind: "proposal_created" | "revision_created" | "checkpoint_decided" | "operation_updated";
|
|
1114
|
+
}
|
|
1115
|
+
interface TuttiModePlanReviewConnectionRestored {
|
|
1116
|
+
kind: "connection_restored";
|
|
1117
|
+
workspaceId: string;
|
|
1118
|
+
}
|
|
1119
|
+
/**
|
|
1120
|
+
* A root turn of the source session settled. The host derives this from the
|
|
1121
|
+
* daemon's canonical turn fan-out and relays it as a read-repair trigger: a
|
|
1122
|
+
* plan proposed mid-turn announces itself through one workflow event, and if
|
|
1123
|
+
* that single event is lost no later workflow signal re-reads review state.
|
|
1124
|
+
*/
|
|
1125
|
+
interface TuttiModePlanReviewSessionSettled {
|
|
1126
|
+
kind: "session_settled";
|
|
1127
|
+
workspaceId: string;
|
|
1128
|
+
sourceSessionId: string;
|
|
1129
|
+
}
|
|
1130
|
+
type TuttiModePlanReviewInvalidation = TuttiModePlanReviewUpdate | TuttiModePlanReviewConnectionRestored | TuttiModePlanReviewSessionSettled;
|
|
1131
|
+
interface TuttiModePlanTaskAssignmentInput {
|
|
1132
|
+
taskId: string;
|
|
1133
|
+
agentTargetId?: string | null;
|
|
1134
|
+
modelPlanId?: string | null;
|
|
1135
|
+
model?: string | null;
|
|
1136
|
+
permissionModeId?: string | null;
|
|
1137
|
+
reasoningEffort?: string | null;
|
|
1138
|
+
parallelizable?: boolean | null;
|
|
1139
|
+
autoAccept?: boolean | null;
|
|
1140
|
+
}
|
|
1141
|
+
interface TuttiModePlanReviewDecisionInput {
|
|
1142
|
+
workspaceId: string;
|
|
1143
|
+
workflowId: string;
|
|
1144
|
+
checkpointId: string;
|
|
1145
|
+
decision: "accepted" | "rejected" | "canceled";
|
|
1146
|
+
decidedBy: string;
|
|
1147
|
+
reason?: string | null;
|
|
1148
|
+
/** Per-task overrides; only meaningful with an accepted task review. */
|
|
1149
|
+
taskAssignments?: readonly TuttiModePlanTaskAssignmentInput[];
|
|
1150
|
+
}
|
|
1151
|
+
interface TuttiModePlanAssignmentAgentOption {
|
|
1152
|
+
agentTargetId: string;
|
|
1153
|
+
label: string;
|
|
1154
|
+
}
|
|
1155
|
+
interface TuttiModePlanAssignmentAgentDetail {
|
|
1156
|
+
/** Provider-native models usable without a model plan. */
|
|
1157
|
+
models: readonly string[];
|
|
1158
|
+
modelPlans: readonly {
|
|
1159
|
+
modelPlanId: string;
|
|
1160
|
+
label: string;
|
|
1161
|
+
models: readonly string[];
|
|
1162
|
+
}[];
|
|
1163
|
+
permissionModes: readonly {
|
|
1164
|
+
id: string;
|
|
1165
|
+
label: string;
|
|
1166
|
+
}[];
|
|
1167
|
+
reasoningEfforts: readonly string[];
|
|
1168
|
+
}
|
|
1169
|
+
interface TuttiPlanIssueTaskSnapshot {
|
|
1170
|
+
taskId: string;
|
|
1171
|
+
title: string;
|
|
1172
|
+
content: string;
|
|
1173
|
+
status: string;
|
|
1174
|
+
sortIndex: number;
|
|
1175
|
+
parallelizable: boolean;
|
|
1176
|
+
autoAccept: boolean;
|
|
1177
|
+
dependencyTaskIds: string[];
|
|
1178
|
+
}
|
|
1179
|
+
/** Read-only snapshot of the Issue a session's accepted plan materialized. */
|
|
1180
|
+
interface TuttiPlanIssueSnapshot {
|
|
1181
|
+
workflowId: string;
|
|
1182
|
+
sourceTurnId: string | null;
|
|
1183
|
+
issueId: string;
|
|
1184
|
+
topicId: string;
|
|
1185
|
+
title: string;
|
|
1186
|
+
tasks: TuttiPlanIssueTaskSnapshot[];
|
|
1187
|
+
}
|
|
1188
|
+
/**
|
|
1189
|
+
* An accepted plan whose create_issue operation durably failed. The
|
|
1190
|
+
* conversation must surface this instead of rendering nothing: there is no
|
|
1191
|
+
* pending checkpoint (the review panel is gone) and no Issue (the issue panel
|
|
1192
|
+
* never appears), so silence would hide the failure entirely.
|
|
1193
|
+
*/
|
|
1194
|
+
interface TuttiPlanIssueMaterializationFailure {
|
|
1195
|
+
workflowId: string;
|
|
1196
|
+
sourceTurnId: string | null;
|
|
1197
|
+
errorMessage: string | null;
|
|
1198
|
+
}
|
|
1199
|
+
type TuttiPlanIssueQueryResult = {
|
|
1200
|
+
kind: "issue";
|
|
1201
|
+
issue: TuttiPlanIssueSnapshot;
|
|
1202
|
+
} | ({
|
|
1203
|
+
kind: "materialization_failed";
|
|
1204
|
+
} & TuttiPlanIssueMaterializationFailure) | null;
|
|
1205
|
+
/**
|
|
1206
|
+
* Read-only source for the embedded plan-issue panel in the conversation.
|
|
1207
|
+
* The host resolves "the Issue this session's accepted plan created" and
|
|
1208
|
+
* relays live issue updates; all mutations stay in the Issue Manager.
|
|
1209
|
+
*/
|
|
1210
|
+
interface TuttiPlanIssueSource {
|
|
1211
|
+
getSessionPlanIssue(input: {
|
|
1212
|
+
workspaceId: string;
|
|
1213
|
+
sourceSessionId: string;
|
|
1214
|
+
}): Promise<TuttiPlanIssueQueryResult>;
|
|
1215
|
+
subscribeIssueUpdates(workspaceId: string, listener: (update: {
|
|
1216
|
+
issueId: string;
|
|
1217
|
+
}) => void): () => void;
|
|
1218
|
+
/** Accepts a pending-acceptance task (the human gate) from the embed. */
|
|
1219
|
+
acceptTask(input: {
|
|
1220
|
+
workspaceId: string;
|
|
1221
|
+
issueId: string;
|
|
1222
|
+
taskId: string;
|
|
1223
|
+
}): Promise<void>;
|
|
1224
|
+
/** Sends a pending-acceptance task back to rework (re-dispatch). */
|
|
1225
|
+
rejectTask(input: {
|
|
1226
|
+
workspaceId: string;
|
|
1227
|
+
issueId: string;
|
|
1228
|
+
taskId: string;
|
|
1229
|
+
}): Promise<void>;
|
|
1230
|
+
/**
|
|
1231
|
+
* Stops the Issue's execution: pauses future dispatch and cancels every
|
|
1232
|
+
* running task run. Idempotent; the daemon owns the cascade.
|
|
1233
|
+
*/
|
|
1234
|
+
cancelExecution(input: {
|
|
1235
|
+
workspaceId: string;
|
|
1236
|
+
issueId: string;
|
|
1237
|
+
}): Promise<void>;
|
|
1238
|
+
/**
|
|
1239
|
+
* Resolves the delegate agent session that ran (or is running) a task's
|
|
1240
|
+
* latest run, so a task card can jump straight into that conversation.
|
|
1241
|
+
* Null when the task has not launched yet.
|
|
1242
|
+
*/
|
|
1243
|
+
resolveTaskSession(input: {
|
|
1244
|
+
workspaceId: string;
|
|
1245
|
+
issueId: string;
|
|
1246
|
+
taskId: string;
|
|
1247
|
+
}): Promise<{
|
|
1248
|
+
agentSessionId: string;
|
|
1249
|
+
} | null>;
|
|
1250
|
+
}
|
|
1251
|
+
/**
|
|
1252
|
+
* Option catalogs for per-task assignment editing. The desktop host reuses
|
|
1253
|
+
* its agent directory and composer capability catalogs; the panel never
|
|
1254
|
+
* hardcodes providers or modes.
|
|
1255
|
+
*/
|
|
1256
|
+
interface TuttiModePlanAssignmentOptionsSource {
|
|
1257
|
+
listAgents(input: {
|
|
1258
|
+
workspaceId: string;
|
|
1259
|
+
}): Promise<readonly TuttiModePlanAssignmentAgentOption[]>;
|
|
1260
|
+
loadAgentOptions(input: {
|
|
1261
|
+
workspaceId: string;
|
|
1262
|
+
agentTargetId: string;
|
|
1263
|
+
}): Promise<TuttiModePlanAssignmentAgentDetail>;
|
|
1264
|
+
}
|
|
1265
|
+
interface TuttiModePlanReviewRuntime {
|
|
1266
|
+
listPending(input: {
|
|
1267
|
+
workspaceId: string;
|
|
1268
|
+
sourceSessionId: string;
|
|
1269
|
+
}): Promise<readonly TuttiModePlanReviewSnapshot[]>;
|
|
1270
|
+
decide(input: TuttiModePlanReviewDecisionInput): Promise<void>;
|
|
1271
|
+
subscribe(workspaceId: string, listener: (update: TuttiModePlanReviewInvalidation) => void): () => void;
|
|
1272
|
+
/** Optional; the panel degrades to read-only assignment display without it. */
|
|
1273
|
+
assignmentOptions?: TuttiModePlanAssignmentOptionsSource;
|
|
1274
|
+
/** Optional; without it the embedded plan-issue panel never renders. */
|
|
1275
|
+
planIssues?: TuttiPlanIssueSource;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
980
1278
|
type AgentMentionReferenceTargetResolver = (item: AgentContextMentionItem) => ReferenceLocateTarget | null;
|
|
981
1279
|
interface AgentWorkspaceReferenceInitialTargetInput {
|
|
982
1280
|
activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
|
|
@@ -1039,11 +1337,6 @@ interface AgentGUIRememberComposerDefaultsResult {
|
|
|
1039
1337
|
supersededFields: AgentGUIComposerDefaultsField[];
|
|
1040
1338
|
}
|
|
1041
1339
|
|
|
1042
|
-
interface AgentGUIOpenSessionRequest {
|
|
1043
|
-
agentSessionId: string;
|
|
1044
|
-
sequence: number;
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
1340
|
type AgentGUIComposerAppendRequest = {
|
|
1048
1341
|
files: readonly AgentComposerDraftFile[];
|
|
1049
1342
|
prompt?: string;
|
|
@@ -1058,11 +1351,18 @@ interface AgentGUIPrefillPromptRequest {
|
|
|
1058
1351
|
agentTargetId?: string | null;
|
|
1059
1352
|
autoSubmit?: boolean;
|
|
1060
1353
|
draftPrompt: string;
|
|
1354
|
+
model?: string | null;
|
|
1355
|
+
modelPlanId?: string | null;
|
|
1061
1356
|
provider?: AgentGUIProvider;
|
|
1062
1357
|
sequence: number;
|
|
1063
1358
|
userProjectPath?: string | null;
|
|
1064
1359
|
}
|
|
1065
1360
|
|
|
1361
|
+
interface AgentGUIOpenSessionRequest {
|
|
1362
|
+
agentSessionId: string;
|
|
1363
|
+
sequence: number;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1066
1366
|
type AgentStatusSectionState = "available" | "unavailable" | "error";
|
|
1067
1367
|
type AgentStatusRequestReason = "slash-status" | "agent-info" | "agent-config";
|
|
1068
1368
|
interface AgentStatusQuery {
|
|
@@ -1194,6 +1494,7 @@ interface AgentGUINodeHostActions {
|
|
|
1194
1494
|
agentTargetId?: string | null;
|
|
1195
1495
|
draftPrompt: string;
|
|
1196
1496
|
provider: AgentGUIProvider;
|
|
1497
|
+
sourceAgentSessionId: string;
|
|
1197
1498
|
userProjectPath?: string | null;
|
|
1198
1499
|
}) => void | Promise<void>;
|
|
1199
1500
|
onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
|
|
@@ -1245,6 +1546,7 @@ interface AgentGUIProps extends Omit<AgentGUINodeProps, "hostCapabilities" | "re
|
|
|
1245
1546
|
renderAgentsEmpty?: AgentGUIAgentsEmptyRenderer;
|
|
1246
1547
|
agentActivityRuntime: AgentActivityRuntime;
|
|
1247
1548
|
agentHostApi?: AgentHostInputApi | null;
|
|
1549
|
+
tuttiModePlanReviewRuntime?: TuttiModePlanReviewRuntime | null;
|
|
1248
1550
|
/** Starter entries to hide below the empty new-session composer. */
|
|
1249
1551
|
disabled?: readonly AgentGUIHomeSuggestionId[];
|
|
1250
1552
|
i18n?: I18nRuntime<string> | null;
|